#include "wx/wxprec.h"
#if wxUSE_XRC && wxUSE_CALENDARCTRL

#include "wx/xrc/xh_cald.h"
#include "wx/calctrl.h"

IMPLEMENT_DYNAMIC_CLASS( wxCalendarCtrlXmlHandler, wxXmlResourceHandler )

wxCalendarCtrlXmlHandler::wxCalendarCtrlXmlHandler()
  : wxXmlResourceHandler() {
  XRC_ADD_STYLE( wxCAL_SUNDAY_FIRST );
  XRC_ADD_STYLE( wxCAL_MONDAY_FIRST );
  XRC_ADD_STYLE( wxCAL_SHOW_HOLIDAYS );
  XRC_ADD_STYLE( wxCAL_NO_YEAR_CHANGE );
  XRC_ADD_STYLE( wxCAL_NO_MONTH_CHANGE );
  XRC_ADD_STYLE( wxCAL_SEQUENTIAL_MONTH_SELECTION );
  XRC_ADD_STYLE( wxCAL_SHOW_SURROUNDING_WEEKS );
  AddWindowStyles();
}


wxObject *wxCalendarCtrlXmlHandler::DoCreateResource() {
  XRC_MAKE_INSTANCE( calendar, wxCalendarCtrl );
  calendar->Create( m_parentAsWindow,
                    GetID(),
                    wxDefaultDateTime,
                    GetPosition(), GetSize(),
                    GetStyle(),
                    GetName() );
  SetupWindow( calendar );
  return calendar;
}

bool wxCalendarCtrlXmlHandler::CanHandle( wxXmlNode *node ) {
  return IsOfClass( node, wxT( "wxCalendarCtrl" ) );
}

#endif
